home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / admin / bugs / bugs.spring < prev    next >
Encoding:
Text File  |  1991-08-15  |  20.6 KB  |  557 lines

  1. Log-Number: 30479
  2. From: mendel (Mendel Rosenblum)
  3. Subject: Re: The story about anise/burble 
  4. Date: Mon, 10 Dec 90 10:25:47 PST
  5.  
  6. > Return-Path: mgbaker
  7. > Received: by sprite.Berkeley.EDU (5.59/1.29)
  8. >     id AA79210; Sun, 9 Dec 90 17:24:48 PST
  9. > Message-Id: <9012100124.AA79210@sprite.Berkeley.EDU>
  10. > To: bugs
  11. > Subject: The story about anise/burble
  12. > Date: Sun, 09 Dec 90 17:24:45 PST
  13. > From: Mary Baker <mgbaker>
  14. > Burble was trying to fork an "sh -ev".  It was in the midst of trying to
  15. > do a Vm_SegmentDup and copy a page for the segment from its swap space
  16. > (VmCopySwapSpace).  The src swapFilePtr for the src segment had a server ID
  17. > of anise, while the destination swapFilePtr had a server ID of allspice.
  18. > The link /swap/56 points to allspice.  In Fsrmt_BlockCopy (called by
  19. > Fs_PageCopy) the Rpc_Call to do the RPC_FS_COPY_BLOCK command uses
  20. > the serverID in the src swapFilePtr.  The server (anise in this case) then
  21. > executes Fsrmt_RpcBlockCopy for a file which is actually on allspice.  This
  22. > routine does a FsrmtFileVerify on the handle, which returns NIL.
  23. > This ends up causing STALE_HANDLE to be returned from the Rpc_Call, which
  24. > causes Fs_PageCopy to decide the server is down and it waits for recovery
  25. > and retries the copy forever.  It seems to me that there are a number of
  26. > problems here, including the confusion of serverIDs and the infinite retrying
  27. > of the access of a swap file which doesn't exist.  We've moved the swap
  28. > directories back and forth between allspice and anise a couple of times now.
  29. > Maybe that's not supposed to happen often, but perhaps should try to get this
  30. > to work correctly anyway since it wouldn't be difficult.  It's funny that this
  31. > is just happening now to burble, since its swap directory was moved to allspice
  32. > from anise quite a while ago.
  33. > Mary
  34.  
  35. We should make sure that tve or someone else didn't try to move the swap directory.
  36. This problem is reported in the sprite log entry #30367 has happened everytime
  37. I`ve try to move a swap directory of a sun4 while it was running. Sometimes it 
  38. took a long time to happen. An old shell with a single page swapped out will cause
  39. the problem next command you time at it.
  40.  
  41. Another possibility that occurred to me it an iteraction with migration.
  42. Was the forking process migrated there?  Was the swap file being copied in "56" or 
  43. some other swap directory?  What happens if a shell migrates from a machine with a
  44. swap directory on anise to a machine will a swap directory on allspice and then trys
  45. to fork?  The swap file for the shell will reside on anise but the newly created 
  46. data and stack segments for the shell will reside on allspice.  1) This would happen
  47. on sun4s because its only possible if copy-on-write is turned off. 2)
  48. It also wouldn't
  49. happen frequently because we infrequently migrate processes with vm segments active.
  50. Most migration uses remote exec which should not (does not?) create swap files.
  51. 3) Should be 100% reproducible with a simple test program that migrates and forks()
  52. to a swap with a different swap server.
  53.  
  54.     Mendel
  55.  
  56.  
  57. Log-Number: 30502
  58. From: mendel (Mendel Rosenblum)
  59. Subject: /hosts/{assault allspice anise}/bootcmds does exit
  60. Date: Wed, 12 Dec 90 17:01:09 PST
  61.  
  62. I was adding the command to /hosts/anise/bootcmds to redirect the
  63. syslog into a file so I looked how it was done on allspice and assault.
  64. It was done by adding the command:
  65.  
  66. newtee -inputFile /dev/syslog /sprite/syslogs/$HOST
  67.  
  68. to the end of /hosts/<hostname>/bootcmds.   
  69.  
  70. Since newtee doesn't exit, this means that the bootcmds script never
  71. exits.  Was this done for a reason? Does it cause any problems for the
  72. boot script not to exit?  
  73.  
  74.  
  75.     Mendel
  76.  
  77.  
  78. Log-Number: 30678
  79. From: mendel (Mendel Rosenblum)
  80. Subject: Anise crash with disk full
  81. Date: Tue, 05 Feb 91 13:17:36 PST
  82.  
  83. Anise panic'ed inside of LFS today with the code trying to update the
  84. attributes of an unallocated descriptor. The kgcore program from allsprite
  85. would not finish. It kept hanging part way thru the dump.  
  86. The message before the crash indicated that the disk was full and file
  87. allocates and writes were failing.  My guess is that the crash had something
  88. to do with this.  Note that currently the LFS file systems will stop
  89. allocation when the disks are 75% full.  This is why you get disk full
  90. messages when the disk is 75% full.
  91.  
  92.     Mendel
  93.  
  94.  
  95. Log-Number: 30769
  96. Date: Sat, 9 Mar 91 12:35:20 PST
  97. From: shirriff (Ken Shirriff)
  98. Subject: Re: allspice didn't boot;
  99.  
  100. Allspice died yesterday afternoon with:
  101. Fscache_write: DISK FULL
  102. Ofs_FileTrunc Abandoning (indirect) block
  103. Fscache_FetchBlock hashing error
  104.  
  105. Since this is a known bug, I rebooted.
  106.  
  107.  
  108. Log-Number: <none>
  109. Subject: Kernel install finished
  110. Date: Tue, 02 Apr 91 16:04:23 PST
  111. From: Mary Baker <mgbaker>
  112.  
  113. I've finished installing the new kernel.  It is version 1.087.  Since the last
  114. "new" kernel was pretty stable, I moved it to "sprite."  I did not blow
  115. away the old "sprite" though.  I moved it to "old."  The old "old" kernel
  116. was real old, so I removed it.
  117.  
  118. This new kernel has a lot of changes in it.  I've tried to test things,
  119. but something may still be wrong.  Also, the size of the Fs_Stat
  120. structure changed, so programs looking at that structure will need to be
  121. recompiled.  I've recompiled fsStat, spritemon and getcounters.  I haven't
  122. installed them though, since they would not be compatible with the older
  123. kernels.  Shall I call them something different or put them in a cmds.new,
  124. or how do we handle this?
  125.  
  126.  
  127. Mary
  128.  
  129.  
  130. [19-Apr-91: as discussed at today's Sprite meeting, one thing to do is
  131. have (1) a table in /sprite/admin of utilities that depend on kernel
  132. data structures (either size or layout) and (2) a program that
  133. interprets it.  Each entry in the table would contain the name of a
  134. utility and a list of kernel version numbers and paths to
  135. corresponding versions of the utility.  For example, one line might
  136. say that for kernels up through 1.086 you should run fsstat.old, but
  137. for kernels starting with 1.087, run fsstat.new.  (There should also
  138. be support for private kernels that aren't numbered the same as
  139. installed kernels.  Perhaps some sort of Tcl expression could be
  140. used.)  The table would be maintained on an ad-hoc basis, as people
  141. make kernel changes.  So, if you make an incompatible change like the
  142. one Mary mentioned, you would (a) move fsstat to fsstat.old, (b) build
  143. fsstat.new using the new structure definition, and (c) change "fsstat"
  144. to be a link to this interpreter program, which would exec the proper
  145. version of fsstat when invoked.  When everyone is running a kernel
  146. with the new definition, you'd get rid of fsstat.old, remove the
  147. "fsstat" link, and rename fsstat.new to fsstat.
  148.  
  149. -mdk]
  150.  
  151.  
  152.  
  153. Log-Number: 30875
  154. Subject: Sync_Wait can return wrong value
  155. Date: Thu, 11 Apr 91 15:23:52 PDT
  156. From: Mike Kupfer <kupfer>
  157.  
  158.  
  159. There's a fair amount of kernel code that checks whether a wait on a
  160. condition variable was interrupted by a signal.  Unfortunately, the
  161. main "wait" primitive, SyncEventWaitInt, only checks for signals
  162. before the context switch; it doesn't check after it wakes up again
  163. and can therefore return the wrong value.
  164.  
  165. Also, a minor bug: the comment header for Sync_Wait is wrong, since
  166. Sync_Wait is in fact supposed to return a meaningful value.
  167.  
  168. mike
  169.  
  170.  
  171. Log-Number: 01589
  172. Date: Wed, 7 Mar 90 12:58:04 PST
  173. From: mendel (Mendel Rosenblum)
  174. Subject: fsync() broken
  175.  
  176. Fsync() on a large remote file doesn't push the file to disk.   The file is
  177. written to the server's cache but not to disk. It appears that the 
  178. file needs to be large enought so that it doesn't fit in the local cache.
  179.  
  180.     Mendel
  181.  
  182. [19-Apr-91: the problem appears to be more general: fsync() only
  183. pushes the file to the server; it doesn't push it all the way out to
  184. the server's disk. -mdk]
  185.  
  186.  
  187. Log-Number: 30931
  188. Date: Thu, 25 Apr 91 00:03:41 PDT
  189. From: shirriff (Ken Shirriff)
  190. Subject: /dev/tty
  191.  
  192. Two problems:
  193. First, bogus /dev/tty files sometimes show up and cause problems.  e.g.
  194. -rw-rw-r--  1 ouster        521 Apr 19 09:28 /dev/tty
  195. Second, for Unix compatibility, we should probably have /dev/tty.
  196.  
  197. Ken
  198.  
  199.  
  200. Log-Number: 30962
  201. Date: Mon, 29 Apr 91 00:18:37 PDT
  202. From: mottsmth (Jim Mott-Smith)
  203. Subject: Assault died
  204.  
  205.  
  206. Assault died at about 11:50pm with
  207.     Fatal error: HandleRelease handle <1,25,0,59200>
  208.     "cmds" not locked
  209.     Syncing disks
  210.     FslclLookup, missing '..' link: ID <25,0,44624>
  211.  
  212. Ken claims responsibility.  He was in a directory in one window
  213. and deleted the directory from another.
  214.  
  215. -- Jim M-S (part-time ddj)
  216.  
  217.  
  218.  
  219. Log-Number: 30990
  220. Subject: deadlock when remote exec fails
  221. Date: Thu, 02 May 91 14:52:49 PDT
  222. From: Mike Kupfer <kupfer>
  223.  
  224. A process migrated from nutmeg to catnip.  It was supposed to do a
  225. remote exec, but that failed with SYS_ARG_NOACCESS.  When exiting it
  226. tried to lock its pcb, which deadlocked because it had locked the pcb
  227. in Proc_ResumeMigProc.
  228.  
  229. mike
  230. --
  231. (gdb) bt
  232. #0  0xe004132 in Mach_ContextSwitch ()
  233. #1  0xfeedbabe in ?? ()
  234. #2  0xe081cde in SyncEventWaitInt (event=237605708, wakeIfSignal=0) 
  235.     (syncLock.c line 655)
  236. #3  0xe08123e in Sync_SlowWait (
  237.     conditionPtr=(struct Sync_Condition *) 0xe29934c, 
  238.     lockPtr=(struct Sync_KernelLock *) 0xe0c92c4, wakeIfSignal=0) 
  239.     (syncLock.c line 298)
  240. #4  0xe071e02 in Proc_Lock (
  241.     procPtr=(struct Proc_ControlBlock *) 0xe2992e0) 
  242.     (procTable.c line 416)
  243. #5  0xe0682ec in ProcExitProcess (
  244.     exitProcPtr=(struct Proc_ControlBlock *) 0xe2992e0, reason=4, 
  245.     status=5, code=0, thisProcess=1) (procExit.c line 538)
  246. #6  0xe067dba in Proc_ExitInt (reason=4, status=5, code=0) 
  247.     (procExit.c line 270)
  248. #7  0xe067ae6 in ProcDoRemoteExec (
  249.     procPtr=(struct Proc_ControlBlock *) 0xe2992e0) 
  250.     (procExec.c line 1878)
  251. #8  0xe06ef58 in Proc_ResumeMigProc (pc=106756) (procRemote.c line 313)
  252.  
  253.  
  254.  
  255. Log-Number: 31002
  256. From: mendel (Mendel Rosenblum)
  257. Subject: Allspice, anise, assault crash
  258. Date: Sat, 04 May 91 12:58:35 PDT
  259.  
  260. When I came in this morning allspice was hung and anise and assault were
  261. in the debugger. I could not login to allspice because it was
  262. out of processes. The problem is that when assault dies allspice fills
  263. its process table with sendmail processes waiting for assault.  Assault
  264. died because it ran out of memory. I decided to just reboot assault 
  265. with the hope that this would unwedge allspice so I could debug anise
  266. which was in the debugger because it tried to unlock a file handle
  267. that was not locked.  More on anise later.   Assault couldn't reboot
  268. because allspice wasn't answering its requests for "/".  I tried
  269. to type L1-i to see what was wrong and the L1-i code seg faulted
  270. and put allspice in the debugger.  I took a core dump of allspice 
  271. into /home/ginger/pnh/cores/vmcore.allspice.crash.l1i if the author
  272. of the L1-i code is interested.  
  273.  
  274. The problem with anise appears to be a shell on sedition that was sitting in a 
  275. deleted directory tree. Each time sedition went thru recovery it
  276. tried to open this file and crashed anise.   Is this a known bug?
  277.  
  278.     Mendel
  279.  
  280. [There are two things here for Spring cleaning.
  281.  
  282. (1) The lock registration stuff needs to be rationalized so that we
  283. can reliably take an event number and get the lock information, if
  284. any.  The heuristics used by L1-i to verify that the event number
  285. points to a lock do not seem to be adequate.
  286.  
  287. (2) We need to fix the problem of what happens to processes whose
  288. current working directory has been deleted.
  289.  
  290. -mdk 13-May-91].
  291.  
  292.  
  293. Log-Number: 01551
  294. Date: Fri, 2 Mar 90 19:02:12 PST
  295. From: shirriff (Ken Shirriff)
  296. Subject: / full
  297.  
  298. I got tired of write-back failed errors, so I removed
  299. /boot/cmds.spur/netroute and prefix, freeing up 172K.  If anyone wishes
  300. to reboot the spur, they can copy these files from /sprite/src/cmds.spur.
  301. Wait, I just checked again and now there's only 3K free.  Something evil
  302. must be swallowing up space in /.
  303.  
  304. [We need a better way to track down runaway clients that fill up a
  305. partition or otherwise monopolize a server.  One suggestion is to have
  306. a tool like spritemon (or a new option to spritemon) that displays
  307. per-client RPC information when run on a server. -mdk 13-May-91].
  308.  
  309.  
  310. Log-Number: 31065
  311. Date: Thu, 16 May 91 01:45:59 PDT
  312. From: Dean Long <dlong@@>
  313. Subject: weird prefix behavior
  314.  
  315. Sprite lets you mount a prefix on top of a directory (not just special
  316. files created by ln -r).  For example, I can have a directory
  317. /sprite with a sub-directory /sprite/cmds.sun4, and then mount a /sprite
  318. prefix on top of the /sprite directory on the / partition.  Now,
  319. I can access either one.  To access the prefix, I can use /sprite,
  320. and to access the sprite directory of /, I can use /./sprite.  Now
  321. the fun part comes with you do "cd .." from /./sprite/cmds.sun4 --
  322. infinite loop -- your shell hangs, and you have to kill -KILL the
  323. whole thing.
  324.  
  325. dl
  326. ["prefix" should ensure that the remote link (and nothing else) exists
  327. and should bail out if there's a problem. -mdk 17-May-91.] 
  328.  
  329.  
  330. Log-Number: 31068
  331. Date: Thu, 16 May 91 13:19:00 PDT
  332. From: Dean Long <dlong@oak.ucsc.edu>
  333. Subject: prefixes without a /
  334.  
  335. If I do something like this:
  336.  
  337. prefix -M /dev/rsd01a -l root_back
  338.  
  339. and forget to put a / in front of root_back, it still
  340. gets mounted, but I cannot access it, or unmount it
  341. (at least, I haven't figured out how yet.)
  342.  
  343. dl
  344. [As long as somebody is working on prefix, they might as well fix this
  345. one, too. -mdk 17-May-1991.]
  346.  
  347.  
  348. Log-Number: 31071
  349. Subject: ANSI compatibility (whining)
  350. Date: Fri, 17 May 91 18:56:07 PDT
  351. From: Mike Kupfer <kupfer>
  352.  
  353. It sure would be nice if we had an ANSI-compatible C library (e.g.,
  354. one in which "scanf" with "%i" recognizes a hex number correctly). 
  355. Maybe for spring cleaning we could steal part or all of the BSD C
  356. library?
  357.  
  358. mike
  359.  
  360.  
  361. Log-Number: 31142
  362. Subject: structure of setjmp.h
  363. Date: Wed, 05 Jun 91 21:35:37 PDT
  364. From: Mike Kupfer <kupfer>
  365.  
  366. /sprite/lib/include/setjmp.h is currently a symbolic link to
  367. $MACHINE.md/setjmp.h.  It might be better if it were broken into a
  368. machine-independent part (function prototypes) and machine-dependent
  369. part (size of jmp buf, etc.).
  370.  
  371. mike
  372.  
  373.  
  374. Log-Number: 31165
  375. From: mendel (Mendel Rosenblum)
  376. Subject: Re: couldn't boot allspice off ginger 
  377. Date: Fri, 14 Jun 91 09:00:42 PDT
  378.  
  379.  
  380. > (begin bitching)
  381. > Why in Hell do we still have this problem where we can't shut down a
  382. > system cleanly?
  383.  
  384. I suspect the problem is that we sync the disk and then kill off all
  385. processes.  Killing processes can causes files to be deleted from
  386. /swap/14 (allspice's swap area) which is on /.   This explains the
  387. directory /swap/14/{number} pointing to a unallocated inode.
  388.  
  389. > And why in Hell is the root partition so big?  The bigger it is, the
  390. > more likely it will fail the disk check, hence the more likely we'll
  391. > have to reboot.
  392.  
  393. Too bad you weren't around when I tried to argue against this and lost.
  394.  
  395. > (end bitching)
  396. > I went through the 1990 bug list and found a couple instances of
  397. > similar problems, where downloading a kernel would go very slowly.
  398. > One suggestion from the bug list is that the clients are somehow
  399. > polluting the net trying to talk to allspice.  I tried ftp'ing a copy
  400. > of the kernel from ginger to shallot and it went at normal speed, so
  401. > if there is some global problem, why would it only affect the
  402. > downloading of the kernel?
  403.  
  404. Did you use ftp or tftp?  The PROM and netBoot use tftp to down the
  405. kernel.
  406.  
  407. > I am suspicious that it might be a problem with the network driver in
  408. > allspice's PROM.  Etherfind shows a pattern very similar to that
  409. > exhibited when murder takes forever to boot: the client asks for a
  410. > packet, and the server immediately replies.  Then there is a
  411. > two-second pause before the client sends anything else to the server.
  412. > Unfortunately, etherfind doesn't conveniently give sequence numbers
  413. > for tftp connections, so I don't know for sure whether the second
  414. > request is for the block that the server just sent it.
  415.  
  416. It seems more likely to be a problem in netBoot.  The PROM network driver
  417. is only called to send and receive packets and allspice and murder have
  418. different network inferface hardware. The piece in common here is the
  419. netBoot program.
  420.  
  421. > Anyway, the reason that we're going through all this fuss and bother
  422. > in the first place is because of the problems we had last year where
  423. > we couldn't boot anything except "new" off the disk.  Has this been
  424. > fixed?
  425.  
  426. I don't remember anyone fixing this.  Hook up a disk to anise and you
  427. have a good test setup for looking at this problem.  
  428.  
  429.     Mendel
  430.  
  431. [The problem of booting alternate kernels off the disk has gone away.
  432. The problem of slow booting off ginger should be looked into as a
  433. spring cleaning project.  Maybe it's the same problem that
  434. occasionally affects murder.  -mdk 6/21/91]
  435.  
  436.  
  437. Log-Number: 31171
  438. Date: Sun, 16 Jun 91 14:56:47 PDT
  439. From: shirriff (Ken Shirriff)
  440. Subject: exb1 doesn't work
  441.  
  442. I'm still getting media errors on the exabyte drive attached to allspice
  443. after running the cleaning tape through the drive.  As there are now no
  444. working drives, I am unable to complete the dumps.
  445.  
  446. Ken
  447.  
  448. [After swapping murder's and allspice's drives, we were able to start
  449. the dumps, but they hung.  These hung processes aren't killable, and
  450. the tape drive is unusable until the machine is rebooted.  The spring
  451. cleaning project is to fix things so that the processes can be killed.
  452. Maybe the driver is waiting with the "wakeup on signal" parameter set
  453. to FALSE. -mdk 6/21/91.]
  454.  
  455.  
  456. Log-Number: 31255
  457. From: mendel (Mendel Rosenblum)
  458. Subject: Panic message not printed on Allspice's console.
  459. Date: Fri, 26 Jul 91 10:14:14 PDT
  460.  
  461.  
  462. Allspice crashed yesterday during the Sprite meeting with the message:
  463.  
  464.    Entering debugger with a Interrupt Trap (16) exception at PC 0x...
  465.  
  466. This message was caused by the DBG_CALL macro in the panic() routine.
  467. Unfortunately, the panic message itself was lost.  I suspect that this is
  468. due to the newtee program being used to capture the syslog. On a panic() 
  469. call the system goes down before the newtee program has a chance to 
  470. output the panic() message to the console.  Because the newtee program
  471. has already read the message from the syslog buffer it is not in the
  472. kernel core file either and is sometimes hard to reconstruct the
  473. arguments to panic() using the backtrace.  
  474.  
  475.     Mendel
  476.  
  477.  
  478. Log-Number: 31257
  479. From: mendel (Mendel Rosenblum)
  480. Subject: Allspice panic with disk full
  481. Date: Fri, 26 Jul 91 10:56:38 PDT
  482.  
  483.  
  484. Allspice crashed yesterday during the Sprite meeting when /tmp ran out 
  485. of disk space.  The crash had a previously reported error message of:
  486.  
  487. Fatal Error: LfsError on: /tmp status 0x1, Can't update descriptor map.
  488.  
  489. Contrary to the error message, this is not a problem in LFS.  The problem
  490. is in fslclLookup.c in the routine CreateFile(). It occurs when a file
  491. or directory can't be created or added to a directory because the disk is
  492. full.  If the directory block create or the component insert fails the
  493. code releases the newly created handle, frees the memory allocated
  494. for the file descriptor memory, and deallocates the file number.  Unfortunately,
  495. it leaves the handle inserted in the handle table pointing at unallocated
  496. memory for its descriptor and possible with dirty blocks in the cache.
  497. LFS panics when it finds this file because it's file number is not
  498. allocated. It's going to take more than a one-line bug fix to back out
  499. of the mess left when this happens.  If you ever see the message:
  500. DISK FULL followed by "CreateFile: unwinding" this problem just happened
  501. and the system doesn't have long to live.
  502.  
  503.     Mendel
  504.  
  505.  
  506. Log-Number: 31304
  507. From: mendel (Mendel Rosenblum)
  508. Subject: Hack in sched mod for register window problem
  509. Date: Fri, 09 Aug 91 13:26:24 PDT
  510.  
  511.  
  512. So people can use their sparc2 without fear of random processes 
  513. getting killed I added some code to the sched module to flush
  514. the regsiter windows before call Proc_SetCurrentProc(). Hopefully
  515. this code is temporary and can be removed when the 
  516. window handlers are fixed.  I've included a description of the
  517. problem at the end of this message.
  518.  
  519.     Mendel
  520.  
  521. >To: mgbaker
  522. Subject: Re: Something to watch for 
  523. In-reply-to: Your message of Sun, 04 Aug 91 22:51:36 -0700.
  524.              <9108050551.AA472380@sprite.Berkeley.EDU> 
  525. Date: Tue, 06 Aug 91 18:27:25 PDT
  526. >From: mendel
  527.  
  528. I found the problem that caused the "MachHandleWindowUnderflow: killing process!"
  529. error.  In Sched_ContextSwitchInt() the code sets proc_RunningProcesses[0] 
  530. (using Proc_SetCurrentProc) before calling Mach_ContextSwitch().  
  531. Mach_ContextSwitch() does many save's to spill the windows to the stack.  
  532. If there is a user window for which the page is nonresident it saves
  533. the window into the Mach_State structure pointed to by proc_RunningProcesses[0].
  534. This saves the window into the wrong Mach_State structure; the one that is
  535. being switched to rather than the structure of the old process.  The underflow 
  536. error occurs because the handler finds a bogus fp to restore from when the
  537. process is switched back in.
  538.  
  539. This also happens on the sparcStation1.  The extra window on the sparc2 makes
  540. it much more frequent.  This problem explains the random tcsh going into the
  541. debugger that ethan reported in March (log message 30757)
  542.  
  543.     Mendel
  544.  
  545.  
  546.  
  547.